This invention is generally related to computer systems for representing processes. It is more particularly related to database systems for storing and utilizing computerized representations of processes to assist enterprise modeling, developing workflow software, process re-engineering, understanding and analysis of processes and relations between alternative processes. This application is related to U.K. patent application Ser. No. 9303873.5, filed Feb. 25, 1993 which is hereby expressly incorporated by reference.
Organizations continually strive for improvement in their processes. However, such improvement is dependent on the extent of understanding of successful processes, including possible alternative processes and their interrelationships. Because there is little systematic theoretical or empirical foundation to assist understanding of processes, the development of improved processes is hindered.
Developing a systematic theoretical or empirical foundation for understanding processes involves developing a representation of processes, in combination with a method and system for viewing the representation, which enables one to compare alternative ways to perform a task, to compare a task to similar tasks and to judge which alternative processes are likely to be useful for accomplishing the task.
Much work is available concerning representation of computer processes. Processes for computer systems are commonly represented using flow charts, data flow diagrams, state transition diagrams (which define finite state machines, push down machines, or even Turing machines). Petri nets, and specialization.
A flow chart represents a process as a series of steps, with arrows between them, which represents an order in which the steps are to be performed. Some of the steps are decision points, so depending on the circumstances, different sets of steps might be performed. A data flow diagram is similar but represents how modules of a system are interconnected to perform the steps of a process but focuses on the ordering relationships imposed by the fact that data produced by some modules is used by other modules.
A state transition diagram represents a process in terms of the possible states of the system. The steps taken in the state to another. The most powerful representation which included a state transition diagram is a Turing machine, which can be used to describe any computer executing any computer program written in any computer programming language. A Petri net is similar to a finite state machine, but allows multiple states to be marked simultaneously. Transitions between states may be synchronized, since multiple states have to be marked at the same time for a particular transition to occur.
Significant developments have also been made in computer representation of objects, such as object-oriented systems. These systems rely on the concept of specialization which involves classifying specific objects into generic, more abstract classes from which they can inherit properties.
These representational paradigms for computer processes, although applicable to the representation of organizational processes lack the ability to model how processes are related and how processes may be dependent on each other in ways other than prerequisites or data flow type dependencies. More specifically, these paradigms have not been applied effectively in representing interrelationships of processes in a kind of computerized handbook which could be consulted to find a variety of alternative ways to perform particular processes, along with experience and guidelines about which alternatives work best in given situations.
A method and system for representing processes has been developed to provide a computerized handbook of processes. This handbook can be used for, among other things, teaching, process re-engineering, enterprise modelling, and software development.
A computerized handbook of processes includes a memory in which representations of a plurality of processes are stored. A representation for a process includes indications of processes into which the process is decomposed. At least one of the plurality of processes is a specialization of another one of the plurality of processes, and the representation of the specialization is such that the specialization inherits characteristics from the other process. The handbook also includes a display system including a display. Specializations of a process are accessed from the memory and displayed on the display. A decomposition of a process is also accessed and displayed on the display. The accessing and displaying of decompositions and specializations are provided upon user selection.